package com.market.plus.core.dao;

import java.util.List;

import com.market.plus.core.domain.Album;
import com.market.plus.core.domain.AlbumType;
import com.market.plus.core.domain.Participant;
import com.market.plus.core.domain.Relationship;
import com.market.plus.core.domain.UserInfo;

public interface ParticipantDao extends GenericDao<Participant> {
   List<Participant> findAll();

   UserInfo findByUsername(String username);

   Album findByAlbumName(long participantId,String albumName);

   Album findByAlbumType(long participantId,AlbumType albumType);

   Participant findParticipantByUsername(String username);

   Participant findParticipantByGUID(String guid);

   List<Participant> findWaitingFriends(long participantId);

   List<Participant> findMyFriends(long participantId);

   List<Participant> findNotMyFriends(long participantId);

   List<Participant> findMyLockedFriends(long participantId);

   List<Participant> findMyFriends(long participantId, List<Long> excludeIds);

   Relationship findByRelationship(long participantId, String relationName);
}

